The present disclosure relates to computing systems, and, in particular, to computing systems that are used to deliver educational or training material.
Ongoing education and training of employees may be important to the success or a business or company. An employee's ability to absorb and understand new concepts may affect that employee's personal success directly and the success of the company indirectly. Both personal and organizational development can stagnate, however, without an effective means of delivering educational and training materials.
Conventional education techniques focus on periods of intense training. These training sessions may be in the form of 30 minute webinars or may be offsite seminars that last for several days and involve numerous classroom and practical sessions. One common attribute of these conventional education techniques is that the student is expected to dedicate a block of time to assimilate the material.
While conventional education techniques can be effective, they may introduce a hidden cost: While students set aside time to attend or view lectures, participate in breakout groups, and the like, they are not able to do anything else, i.e., make progress on their daily work tasks. Indeed, instructors often discourage students from checking emails associated with work or other distractions so that the students' full attentions can be focused on learning the course material. When students do return to their daily jobs, there is often a readjustment phase associated with becoming reacquainted with daily tasks and catching up on what was missed while attending the educational course. The readjustment phase may be particularly difficult for individuals who work in high complex and/or technical roles.
In the field of software development, numerous books, education programs, and videos attempt to teach both the basic principles of a programming language, such as C++, as well as more advanced features of the language. While the quality of such training materials and programs may be generally high, the effort involved to create the training materials may be extensive and the resulting training materials may not always be tailored to the broad range of real-world scenarios that a software developer may encounter on the job.
There may also be a shortfall when a new employee begins work on an established or legacy project for the first time. The employee may know the programming language well, but not the design, layout, and/or common pitfalls associated with the legacy project. Training is often done on a trial-and-error basis where the developer learns on the job. In some cases, the new developer may be shadowed by a more senior developer and/or may be given internal project documentation to study.